Unity ๋ชจ๋ฐ์ผ ๊ฒ์์ ์ฑ๋ฅ์ ๊ทน๋ํํ์ธ์! ๋ ๋๋ง, ์คํฌ๋ฆฝํ , ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฑ ์ต์ ํ ๊ธฐ์ ์ ๋ฐฐ์๋ณด์ธ์. ํจ์จ์ ์ธ ๊ฒ์ ํ๋ ์ด๋ก ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ๊ณต๋ตํ์ธ์.
๋ชจ๋ฐ์ผ ๊ฒ์ด๋ฐ: Unity ์ฑ๋ฅ ์ต์ ํ - ๊ธ๋ก๋ฒ ๊ฐ์ด๋
๋ชจ๋ฐ์ผ ๊ฒ์์ ๋ค์ํ ๊ธฐ๊ธฐ, ๋คํธ์ํฌ ํ๊ฒฝ, ์ฌ์ฉ์ ๊ธฐ๋๋ฅผ ์์ฐ๋ฅด๋ ๊ฑฐ๋ํ ๊ธ๋ก๋ฒ ์์ฅ์ ๋๋ค. ๋ถ๋๋ฝ๊ณ ๋งค๋ ฅ์ ์ธ ๊ฒ์ ํ๋ ์ด๋ฅผ ๊ตฌํํ๋ ค๋ฉด ์ธ์ฌํ ์ฑ๋ฅ ์ต์ ํ๊ฐ ํ์ํฉ๋๋ค. ์ด ๊ฐ์ด๋๋ Unity ๋ชจ๋ฐ์ผ ๊ฒ์์ ์ต์ ํํ์ฌ ์ ์ธ๊ณ ํ๋ ์ด์ด์๊ฒ ๊ณ ํ์ง ๊ฒฝํ์ ๋ณด์ฅํ๋ ํฌ๊ด์ ์ธ ์ ๋ต์ ์ ๊ณตํฉ๋๋ค.
๋ชจ๋ฐ์ผ ํ๊ฒฝ ์ดํดํ๊ธฐ
ํน์ ์ต์ ํ ๊ธฐ์ ์ ์ดํด๋ณด๊ธฐ ์ ์ ๋ชจ๋ฐ์ผ ํ๋ซํผ์ด ์ ์ํ๋ ๊ณ ์ ํ ๊ณผ์ ์ ๊ธฐํ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ฃผ์ ๊ณ ๋ ค ์ฌํญ์ ๋๋ค:
- ๊ธฐ๊ธฐ ๋ค์์ฑ: ํนํ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ๋ ์ฒ๋ฆฌ ๋ฅ๋ ฅ, ๋ฉ๋ชจ๋ฆฌ ์ฉ๋, ํ๋ฉด ํด์๋๊ฐ ๋งค์ฐ ๋ค์ํฉ๋๋ค. ์ต์ ํ๋ ์ต๊ณ ๊ธ ํ๋๊ทธ์ญ ๊ธฐ๊ธฐ์ ์ ๊ฐํ ๋ณด๊ธํ ๊ธฐ๊ธฐ ๋ชจ๋๋ฅผ ๋ง์กฑ์์ผ์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ผ์ฑ ๊ฐค๋ญ์ S23์์ ์ํํ๊ฒ ์คํ๋๋ ๊ทธ๋ํฝ ์ง์ฝ์ ์ธ ๊ฒ์์ด ์ค์ค๋ฏธ๋ ์คํฌ์ ๊ตฌํ ๋๋ ์ ์ฌ์ ๊ธฐ๊ธฐ์์๋ ์ด๋ ค์์ ๊ฒช์ ์ ์์ต๋๋ค.
- ๋ฐฐํฐ๋ฆฌ ์๋ช : ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ ๋ฐฐํฐ๋ฆฌ ์ ๋ ฅ์ ์์กดํ๋ฉฐ, ๊ณผ๋ํ CPU ๋๋ GPU ์ฌ์ฉ์ ๋ฐฐํฐ๋ฆฌ๋ฅผ ๋น ๋ฅด๊ฒ ์๋ชจ์ํฌ ์ ์์ต๋๋ค. ์ต์ ํ๋ ์๋์ง ํจ์จ์ ์ฐ์ ์ํ์ฌ ํ๋ ์ด ์๊ฐ์ ๋๋ ค์ผ ํฉ๋๋ค.
- ๋คํธ์ํฌ ์ฐ๊ฒฐ์ฑ: ๋ง์ ๋ชจ๋ฐ์ผ ๊ฒ์์ด ๋ฉํฐํ๋ ์ด์ด ๊ธฐ๋ฅ, ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ๋๋ ์จ๋ผ์ธ ์๋น์ค๋ฅผ ์ํด ์ธํฐ๋ท ์ฐ๊ฒฐ์ ์์กดํฉ๋๋ค. ๋ถ์์ ํ๊ฑฐ๋ ๋๋ฆฐ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ๊ฒ์ ํ๋ ์ด์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ต์ ํ์๋ ๋คํธ์ํฌ ์ง์ฐ ์๊ฐ ๋ฐ ๋ฐ์ดํฐ ์ฌ์ฉ๋ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ ๋ต์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ํ๋ฆฌ์นด๋ ๋จ๋ฏธ ์ผ๋ถ ์ง์ญ์ฒ๋ผ ๋์ญํญ์ด ์ ํ๋ ์ง์ญ์ ์ฌ์ฉ์๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
- ํ๋ซํผ๋ณ ์ฐจ์ด์ : iOS์ ์๋๋ก์ด๋๋ ์ด์ ์ฒด์ , ํ๋์จ์ด ์ํคํ ์ฒ, API ์ ํ์ด ๋ค๋ฆ ๋๋ค. ์ต์ ํ๋ฅผ ์ํด ํ๋ซํผ๋ณ ์กฐ์ ์ด ํ์ํ ์ ์์ต๋๋ค.
ํ๋กํ์ผ๋ง: ์ต์ ํ์ ์ฒซ๊ฑธ์
ํ๋กํ์ผ๋ง์ ๊ฒ์ ์ฑ๋ฅ์ ์ธก์ ํ์ฌ ๋ณ๋ชฉ ํ์๊ณผ ๊ฐ์ ์์ญ์ ์๋ณํ๋ ๊ณผ์ ์ ๋๋ค. Unity๋ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ํ๋กํ์ผ๋ง ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค:
- Unity ํ๋กํ์ผ๋ฌ: CPU ์ฌ์ฉ๋, ๋ฉ๋ชจ๋ฆฌ ํ ๋น, ๋ ๋๋ง ์ฑ๋ฅ ๋ฑ์ ๋ํ ์์ธํ ์ฑ๋ฅ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ๋ด์ฅ ํ๋กํ์ผ๋ฌ์ ๋๋ค. Window -> Analysis -> Profiler๋ฅผ ํตํด ์ ๊ทผํ ์ ์์ต๋๋ค.
- Android Studio ํ๋กํ์ผ๋ฌ: ์๋๋ก์ด๋ ๊ธฐ๊ธฐ ์ ์ฉ์ ๊ฐ๋ ฅํ ํ๋กํ์ผ๋ฌ๋ก, CPU, ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ ๋ฐ ๋ฐฐํฐ๋ฆฌ ์ฌ์ฉ๋์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
- Xcode Instruments: iOS ๊ธฐ๊ธฐ๋ฅผ ์ํ ํ๋กํ์ผ๋ง ๋๊ตฌ ๋ชจ์์ผ๋ก, Android Studio ํ๋กํ์ผ๋ฌ์ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
ํ๋กํ์ผ๋ฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ:
- ๋ฌธ์ ์์ญ ์๋ณ: CPU ๋๋ GPU ์ฌ์ฉ๋ ๊ธ์ฆ, ๊ณผ๋ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋๋ ๊ธด ๋ ๋๋ง ์๊ฐ์ ์ฐพ์ผ์ธ์.
- ํ๊ฒ ๊ธฐ๊ธฐ์์ ํ๋กํ์ผ๋ง: ๋ค์ํ ํ๊ฒ ๊ธฐ๊ธฐ์์ ๊ฒ์์ ํ๋กํ์ผ๋งํ์ฌ ํ๋์จ์ด ๊ตฌ์ฑ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์ดํดํ์ธ์. ์๋ฅผ ๋ค์ด, ๋ณด๊ธํ ์๋๋ก์ด๋ ํฐ๊ณผ ์ต๊ณ ๊ธ iOS ๊ธฐ๊ธฐ์์ ํ ์คํธํ์ธ์.
- ์ค์ํ ์ฌ์ ์ง์ค: ๋ณต์กํ ๊ฒ์ ํ๋ ์ด, ๋ฌด๊ฑฐ์ด ํจ๊ณผ ๋๋ ๋ง์ ์์ ์ค๋ธ์ ํธ๊ฐ ์๋ ์ฌ์ ํ๋กํ์ผ๋งํ์ธ์.
- ๋ฐ๋ณต ๋ฐ ํ์ธ: ์ต์ ํ๋ฅผ ๊ตฌํํ ํ ๊ฒ์์ ๋ค์ ํ๋กํ์ผ๋งํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ด ์ํ๋ ํจ๊ณผ๋ฅผ ๋๋์ง ํ์ธํ์ธ์.
๋ ๋๋ง ์ต์ ํ
๋ ๋๋ง์ ์ข ์ข ๋ชจ๋ฐ์ผ ๊ฒ์์ ์ฃผ์ ๋ณ๋ชฉ ํ์์ ๋๋ค. ๋ค์์ ์ผ๋ฐ์ ์ธ ๋ ๋๋ง ์ต์ ํ ๊ธฐ์ ์ ๋๋ค:
๋๋ก์ฐ ์ฝ ์ค์ด๊ธฐ
๋๋ก์ฐ ์ฝ์ ์ค๋ธ์ ํธ๋ฅผ ๋ ๋๋งํ๊ธฐ ์ํด CPU์์ GPU๋ก ๋ณด๋ด๋ ๋ช ๋ น์ด์ ๋๋ค. ๋๋ก์ฐ ์ฝ ์๋ฅผ ์ค์ด๋ฉด ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ์ ์ ๋ฐฐ์นญ(Static Batching): ์ ์ ์ค๋ธ์ ํธ๋ฅผ ๋จ์ผ ๋ฐฐ์น๋ก ๊ฒฐํฉํ์ฌ ๋๋ก์ฐ ์ฝ์ ์ค์ ๋๋ค. ์ ์ ๊ฒ์์ค๋ธ์ ํธ์ ์ธ์คํํฐ์์ ์ ์ ๋ฐฐ์นญ์ ํ์ฑํํ์ธ์. ์ด ๋ฐฉ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ฆ๊ฐ์ํจ๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค.
- ๋์ ๋ฐฐ์นญ(Dynamic Batching): Unity๋ ๋์ผํ ๋จธํฐ๋ฆฌ์ผ์ ๊ณต์ ํ๋ ์๊ณ ์ ์ฌํ ์ค๋ธ์ ํธ๋ฅผ ์๋์ผ๋ก ๋ฐฐ์นญํฉ๋๋ค. ๋์ ๋ฐฐ์นญ์๋ ์ ํ ์ฌํญ(์: ์ค๋ธ์ ํธ๊ฐ ๋๋ฌด ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์์ ์ ์์)์ด ์์ง๋ง ๊ฐ๋จํ ์ฌ์์๋ ์ ์ฉํ ์ ์์ต๋๋ค.
- GPU ์ธ์คํด์ฑ(GPU Instancing): ๋จ์ผ ๋๋ก์ฐ ์ฝ์ ์ฌ์ฉํ์ฌ ๋์ผํ ๋ฉ์์ ์ฌ๋ฌ ์ธ์คํด์ค๋ฅผ ๋ค๋ฅธ ์์ฑ(์: ์์, ์์น, ํฌ๊ธฐ)์ผ๋ก ๋ ๋๋งํฉ๋๋ค. ์ด๋ ๋๋ฌด๋ ํ๊ณผ ๊ฐ์ด ์ ์ฌํ ์ค๋ธ์ ํธ๋ฅผ ๋๋์ผ๋ก ๋ ๋๋งํ ๋ ํนํ ํจ๊ณผ์ ์ ๋๋ค.
- ์คํด๋ฃจ์ ์ปฌ๋ง(Occlusion Culling): ์นด๋ฉ๋ผ ์์ผ์์ ๊ฐ๋ ค์ง ์ค๋ธ์ ํธ๋ฅผ ์์ง์ด ๋ ๋๋งํ์ง ์๋๋ก ํฉ๋๋ค. ์ด๋ ๋ณต์กํ ์ฌ์์ ๋๋ก์ฐ ์ฝ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. Unity๋ ๋ด์ฅ ์คํด๋ฃจ์ ์ปฌ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ ฐ์ด๋ ์ต์ ํ
์ ฐ์ด๋๋ GPU์์ ์คํ๋๋ฉฐ ์ค๋ธ์ ํธ๊ฐ ๋ ๋๋ง๋๋ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๋ณต์กํ ์ ฐ์ด๋๋ ์ฃผ์ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์์ธ์ด ๋ ์ ์์ต๋๋ค.
- ๋ชจ๋ฐ์ผ์ ์ต์ ํ๋ ์ ฐ์ด๋ ์ฌ์ฉ: Unity๋ ์ฑ๋ฅ์ ์ต์ ํ๋ ๋ด์ฅ ๋ชจ๋ฐ์ผ ์ ฐ์ด๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฅํ ๋๋ง๋ค ์ด ์ ฐ์ด๋๋ฅผ ์ฌ์ฉํ์ธ์.
- ์ ฐ์ด๋ ๋จ์ํ: ๋ถํ์ํ ๊ณ์ฐ์ด๋ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ์ฌ ์ ฐ์ด๋์ ๋ณต์ก์ฑ์ ์ค์ด์ธ์.
- ์ ฐ์ด๋ LOD ์ฌ์ฉ: ๋ค์ํ ๋ํ ์ผ ์์ค์ ๊ฐ์ง ์ฌ๋ฌ ๋ฒ์ ์ ์ ฐ์ด๋๋ฅผ ๋ง๋์ธ์. ๋ฉ๋ฆฌ ์๋ ์ค๋ธ์ ํธ์๋ ๋ ๊ฐ๋จํ ์ ฐ์ด๋๋ฅผ, ๊ฐ๊น์ด ์๋ ์ค๋ธ์ ํธ์๋ ๋ ๋ณต์กํ ์ ฐ์ด๋๋ฅผ ์ฌ์ฉํ์ธ์.
- ์ค์๊ฐ ๊ทธ๋ฆผ์ ํผํ๊ธฐ: ์ค์๊ฐ ๊ทธ๋ฆผ์๋ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ๋งค์ฐ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค. ๋์ ๋ฒ ์ดํฌ๋ ๊ทธ๋ฆผ์๋ ๋ผ์ดํธ๋งต ์ฌ์ฉ์ ๊ณ ๋ คํ์ธ์. ์ค์๊ฐ ๊ทธ๋ฆผ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ฉด ๊ทธ๋ฆผ์ ํด์๋์ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ด์ธ์.
ํ ์ค์ฒ ์ต์ ํ
ํ ์ค์ฒ๋ ์๋นํ ์์ ๋ฉ๋ชจ๋ฆฌ์ ๋์ญํญ์ ์๋นํ ์ ์์ต๋๋ค. ํ ์ค์ฒ๋ฅผ ์ต์ ํํ๋ฉด ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ผ ์ ์์ต๋๋ค.
- ์์ถ ํ ์ค์ฒ ์ฌ์ฉ: ์์ถ ํ ์ค์ฒ๋ ํ ์ค์ฒ๋ฅผ ์ ์ฅํ๋ ๋ฐ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์์ ์ค์ฌ์ค๋๋ค. Unity๋ ETC2(์๋๋ก์ด๋) ๋ฐ ASTC(์๋๋ก์ด๋ ๋ฐ iOS)์ ๊ฐ์ ๋ค์ํ ํ ์ค์ฒ ์์ถ ํ์์ ์ง์ํฉ๋๋ค.
- ๋ฐ๋งต(Mipmaps): ํ ์ค์ฒ์ ๋ํ ๋ฐ๋งต์ ์์ฑํ์ธ์. ๋ฐ๋งต์ ๋ฉ๋ฆฌ ์๋ ์ค๋ธ์ ํธ์ ์ฌ์ฉ๋๋ ๋ ์์ ๋ฒ์ ์ ํ ์ค์ฒ์ ๋๋ค. ์ด๋ ์ํ๋งํด์ผ ํ๋ ํ ์ค์ฒ ๋ฐ์ดํฐ์ ์์ ์ค์ฌ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ์จ๋ฆฌ์ด์ฑ ํ์์ ์ค์ ๋๋ค.
- ํ ์ค์ฒ ์ํ๋ผ์ค(Texture Atlases): ์ฌ๋ฌ ๊ฐ์ ์์ ํ ์ค์ฒ๋ฅผ ํ๋์ ํฐ ํ ์ค์ฒ ์ํ๋ผ์ค๋ก ๊ฒฐํฉํ์ธ์. ์ด๋ ํด๋น ํ ์ค์ฒ๋ฅผ ์ฌ์ฉํ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ ๋๋งํ๋ ๋ฐ ํ์ํ ๋๋ก์ฐ ์ฝ ์๋ฅผ ์ค์ฌ์ค๋๋ค.
- ํ ์ค์ฒ ํด์๋ ์ค์ด๊ธฐ: ๊ฐ๋ฅํ ๋๋ง๋ค, ํนํ ์นด๋ฉ๋ผ์์ ๋ฉ๋ฆฌ ๋จ์ด์ง ์ค๋ธ์ ํธ์๋ ๋ ๋ฎ์ ํด์๋์ ํ ์ค์ฒ๋ฅผ ์ฌ์ฉํ์ธ์.
ํ์ฒ๋ฆฌ ํจ๊ณผ ์ต์ ํ
ํ์ฒ๋ฆฌ ํจ๊ณผ๋ ๊ฒ์์ ์๊ฐ์ ๋ฉ์ ๋ํ ์ ์์ง๋ง ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์๋ ๋งค์ฐ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ต๋๋ค. ํ์ฒ๋ฆฌ ํจ๊ณผ๋ ๋๋ฌผ๊ฒ ์ฌ์ฉํ๊ณ ์ ์คํ๊ฒ ์ต์ ํํ์ธ์.
- ๋ชจ๋ฐ์ผ์ ์ต์ ํ๋ ํ์ฒ๋ฆฌ ํจ๊ณผ ์ฌ์ฉ: Unity๋ ์ฑ๋ฅ์ ์ต์ ํ๋ ๋ด์ฅ ๋ชจ๋ฐ์ผ ํ์ฒ๋ฆฌ ํจ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํจ๊ณผ ํ์ง ๋ฎ์ถ๊ธฐ: ์ฑ๋ฅ ํฅ์์ ์ํด ํ์ฒ๋ฆฌ ํจ๊ณผ์ ํ์ง์ ๋ฎ์ถ์ธ์. ์๋ฅผ ๋ค์ด, ๋ธ๋ฃธ ๊ฐ๋๋ ์ํฐ์จ๋ฆฌ์ด์ฑ ์์ค์ ์ค์ด์ธ์.
- ํ์ฒ๋ฆฌ LOD ์ฌ์ฉ: ๋ค์ํ ๋ํ ์ผ ์์ค์ ๊ฐ์ง ์ฌ๋ฌ ๋ฒ์ ์ ํ์ฒ๋ฆฌ ํจ๊ณผ๋ฅผ ๋ง๋์ธ์. ์ ์ฌ์ ๊ธฐ๊ธฐ์๋ ๋ ๊ฐ๋จํ ํจ๊ณผ๋ฅผ ์ฌ์ฉํ์ธ์.
์คํฌ๋ฆฝํ ์ต์ ํ
๋นํจ์จ์ ์ธ ์คํฌ๋ฆฝํ ๋ํ ์ฃผ์ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ด ๋ ์ ์์ต๋๋ค. ๋ค์์ ์ผ๋ฐ์ ์ธ ์คํฌ๋ฆฝํ ์ต์ ํ ๊ธฐ์ ์ ๋๋ค:
๊ฐ๋น์ง ์ปฌ๋ ์ ํผํ๊ธฐ
๊ฐ๋น์ง ์ปฌ๋ ์ ์ ๊ฒ์์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํ๋ ๊ณผ์ ์ ๋๋ค. ์ฆ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฑ๋ฅ ์ ํ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค.
- Update ๋ฃจํ์์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํผํ๊ธฐ: Update ๋ฃจํ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ฉด ์ฆ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ ๋ฐํ ์ ์์ต๋๋ค. ๊ธฐ์กด ์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ์ค๋ธ์ ํธ ํ๋ง์ ์ฌ์ฉํ์ฌ ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ํผํ์ธ์.
- ๋ฌธ์์ด ์ฐ๊ฒฐ ๋์ StringBuilder ์ฌ์ฉ: ๋ฌธ์์ด ์ฐ๊ฒฐ์ ์๋ก์ด ๋ฌธ์์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ ๋ฐํ ์ ์์ต๋๋ค. StringBuilder๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ์ ์๋ฆฌ์์ ์์ ํ์ธ์.
- ๋ณ์ ์บ์ฑ: ์์ฃผ ์ ๊ทผํ๋ ๋ณ์๋ฅผ ์บ์ฑํ์ฌ ๋ฐ๋ณต์ ์ธ ์กฐํ๋ฅผ ํผํ์ธ์.
๋ฃจํ ์ต์ ํ
๋นํจ์จ์ ์ธ ๋ฃจํ๋ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๋ค์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฃจํ๋ฅผ ์ต์ ํํ์ธ์:
- ๋ฃจํ ๋ฐ๋ณต ์ค์ด๊ธฐ: ๊ฐ๋ฅํ ๋๋ง๋ค ๋ฃจํ์ ๋ฐ๋ณต ํ์๋ฅผ ์ต์ํํ์ธ์.
- ํจ์จ์ ์ธ ์๋ฃ ๊ตฌ์กฐ ์ฌ์ฉ: ๋์ ๋๋ฆฌ๋ ํด์ ํ ์ด๋ธ๊ณผ ๊ฐ์ ํจ์จ์ ์ธ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ์กฐํ๋ฅผ ์ต์ ํํ์ธ์.
- ๋ถํ์ํ ๊ณ์ฐ ํผํ๊ธฐ: ๋ฃจํ ๋ด์์ ๋ถํ์ํ ๊ณ์ฐ์ ์ํํ์ง ๋ง์ธ์.
์ฝ๋ฃจํด ์ต์ ํ
์ฝ๋ฃจํด์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฉํ ๋๊ตฌ์ด์ง๋ง, ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ด ๋ ์ ์์ต๋๋ค.
- ์๋ก์ด ์ฝ๋ฃจํด์ ์์ฃผ ์์ฑํ์ง ์๊ธฐ: ์๋ก์ด ์ฝ๋ฃจํด์ ์์ฃผ ์์ฑํ๋ฉด ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ ๋๋ง๋ค ๊ธฐ์กด ์ฝ๋ฃจํด์ ์ฌ์ฌ์ฉํ์ธ์.
- WaitForSecondsRealtime ์ฌ์ฉ: WaitForSecondsRealtime์ WaitForSeconds๋ณด๋ค ํ์ ์ค์ผ์ผ์ ์ํฅ์ ๋ ๋ฐ์ผ๋ฏ๋ก, ๊ฒ์์ ํ์ ์ค์ผ์ผ๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋์ด์ผ ํ๋ ์ฝ๋ฃจํด์ ๋ ์ ํฉํฉ๋๋ค.
์ค๋ธ์ ํธ ํ๋ง ์ฌ์ฉ
์ค๋ธ์ ํธ ํ๋ง์ ์ค๋ธ์ ํธ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์์ฑํ๊ณ ํ๊ดดํ๋ ๋์ ์ฌ์ฌ์ฉํ๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ ํนํ ๋ฐ์ฌ์ฒด๋ ํํฐํด์ฒ๋ผ ์์ฃผ ์์ฑ๋๊ณ ํ๊ดด๋๋ ์ค๋ธ์ ํธ์ ๊ฒฝ์ฐ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ํฌ๊ฒ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ค๋ธ์ ํธ์ ์์ฑ, ๊ฒ์ ๋ฐ ์ฌํ์ฉ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ค๋ธ์ ํธ ํ ํด๋์ค๋ฅผ ๊ตฌํํ์ธ์.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ํ๋์ด ์์ผ๋ฏ๋ก ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์ฑ๋ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ์ ์ ๋๋ค:
- ์ฌ์ฉํ์ง ์๋ ์์ ์ธ๋ก๋: ํ ์ค์ฒ๋ ๋ชจ๋ธ๊ณผ ๊ฐ์ด ์ฌ์ฉํ์ง ์๋ ์์ ์ ์ธ๋ก๋ํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ณดํ์ธ์. Resources.UnloadUnusedAssets() ๋๋ AssetBundle.Unload()๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์ธ๋ก๋ํ์ธ์.
- ์ด๋๋ ์๋ธ ์์ ์์คํ ์ฌ์ฉ: ์ด๋๋ ์๋ธ ์์ ์์คํ ์ ์ฌ์ฉํ๋ฉด ์์ ์ ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ํ์ํ ๋ ๋ก๋ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ์์ ์ด๊ธฐ ๋ฉ๋ชจ๋ฆฌ ์ ์ ์จ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
- ํ ์ค์ฒ ํฌ๊ธฐ ์ค์ด๊ธฐ: ์์ ์ธ๊ธํ๋ฏ์ด, ์์ถ๋๊ณ ํด์๋๊ฐ ๋ฎ์ ํ ์ค์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด์ธ์.
- ์ค๋์ค ํ์ผ ์ต์ ํ: MP3๋ Vorbis์ ๊ฐ์ ์์ถ ์ค๋์ค ํ์์ ์ฌ์ฉํ๊ณ ์ค๋์ค ํ์ผ์ ๋นํธ ์ ์ก๋ฅ ์ ์ค์ด์ธ์.
ํ๋ซํผ๋ณ ์ต์ ํ
์๋๋ก์ด๋์ iOS๋ ์ด์ ์ฒด์ , ํ๋์จ์ด ์ํคํ ์ฒ, API ์ ํ์ด ๋ค๋ฆ ๋๋ค. ์ต์ ํ๋ฅผ ์ํด ํ๋ซํผ๋ณ ์กฐ์ ์ด ํ์ํ ์ ์์ต๋๋ค.
์๋๋ก์ด๋ ์ต์ ํ
- ETC2 ํ ์ค์ฒ ์์ถ ์ฌ์ฉ: ETC2๋ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ์์ ๋๋ฆฌ ์ง์๋๋ ํ ์ค์ฒ ์์ถ ํ์์ ๋๋ค.
- ํน์ ์ํคํ ์ฒ ํ๊ฒํ : ARMv7 ๋๋ ARM64์ ๊ฐ์ ํน์ CPU ์ํคํ ์ฒ์ฉ์ผ๋ก ๊ฒ์์ ๋น๋ํ์ธ์. ์ด๋ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ APK ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- ๋ค์ํ ํ๋ฉด ํด์๋์ ์ต์ ํ: ์๋๋ก์ด๋ ๊ธฐ๊ธฐ๋ ๋ค์ํ ํ๋ฉด ํด์๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ผ๊ด๋ ์๊ฐ์ ๊ฒฝํ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ค์ํ ํ๋ฉด ํด์๋์ ๋ง๊ฒ UI์ ์์ ์ ์ต์ ํํ์ธ์.
- ProGuard ์ฌ์ฉ: ProGuard๋ ์ฝ๋ ์ถ์ ๋ฐ ๋๋ ํ ๋๊ตฌ๋ก, APK์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ ๋ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
iOS ์ต์ ํ
- ASTC ํ ์ค์ฒ ์์ถ ์ฌ์ฉ: ASTC๋ iOS ๊ธฐ๊ธฐ์ ์ ํฉํ ์ ์ฐํ ํ ์ค์ฒ ์์ถ ํ์์ ๋๋ค.
- Metal ๊ทธ๋ํฝ API ์ฌ์ฉ: Metal์ Apple์ ๋ก์ฐ ๋ ๋ฒจ ๊ทธ๋ํฝ API์ ๋๋ค. Metal์ ์ฌ์ฉํ๋ฉด OpenGL ES์ ๋นํด ๋ ๋๋ง ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ๋ค์ํ ํ๋ฉด ํด์๋์ ์ต์ ํ: iOS ๊ธฐ๊ธฐ ๋ํ ๋ค์ํ ํ๋ฉด ํด์๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ค์ํ ํ๋ฉด ํด์๋์ ๋ง๊ฒ UI์ ์์ ์ ์ต์ ํํ์ธ์.
- ์ฑ ์๋(App Thinning) ์ฌ์ฉ: ์ฑ ์๋์ ์ฌ์ฉํ๋ฉด ๋ค์ํ iOS ๊ธฐ๊ธฐ์ ์ต์ ํ๋ ๋ฒ์ ์ ์ฑ์ ์ ๊ณตํ์ฌ ๋ค์ด๋ก๋๋๋ ์ฑ์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ๋ฐฐํฌ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ์ต์ ํํ ๋ ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ธ์:
- ๋ค์ํ ๊ธฐ๊ธฐ์์ ํ ์คํธ: ๋ค์ํ ์ ์กฐ์ ์ฒด์ ๊ฐ๊ฒฉ๋์ ๊ด๋ฒ์ํ ๊ธฐ๊ธฐ์์ ๊ฒ์์ ํ ์คํธํ์ฌ ์ฌ๋ฌ ์ง์ญ์ ๊ฑธ์ณ ํธํ์ฑ๊ณผ ์ฑ๋ฅ์ ๋ณด์ฅํ์ธ์. ์ฃผ์ ๋ธ๋๋์ ํ๋๊ทธ์ญ ๋ชจ๋ธ๋ฟ๋ง ์๋๋ผ ์ ํฅ ์์ฅ์์ ํํ ๋ณผ ์ ์๋ ๊ธฐ๊ธฐ๋ ๊ณ ๋ คํ์ธ์.
- ๋ค์ํ ๋คํธ์ํฌ ํ๊ฒฝ์ ์ต์ ํ: ๋ถ์์ ํ๊ฑฐ๋ ๋๋ฆฐ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ํ๋ ฅ์ ์ผ๋ก ๋์ํ ์ ์๋๋ก ๊ฒ์์ ์ค๊ณํ์ธ์. ์คํ๋ผ์ธ ๋ชจ๋๋ ๋ฐ์ดํฐ ์บ์ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํ์ธ์.
- ๊ฒ์ ํ์งํ: ๊ฒ์์ ํ ์คํธ, ์ค๋์ค, ๊ทธ๋ํฝ์ ๋ค์ํ ์ธ์ด์ ๋ฌธํ์ ๋ง๊ฒ ํ์งํํ์ฌ ์ฌ๋ฌ ์ง์ญ์ ํ๋ ์ด์ด์๊ฒ ๋ ๋งค๋ ฅ์ ์ผ๋ก ๋ง๋์ธ์.
- ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ๊ณ ๋ ค: ์ ๋ฝ์ GDPR๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ ์์งํ๊ณ ๊ฒ์์ด ์ด๋ฌํ ๊ท์ ์ ์ค์ํ๋๋ก ํ์ธ์.
- ์ฑ๋ฅ ๋ฐ ๋ถ์ ๋ชจ๋ํฐ๋ง: ๊ฒ์์ ์ฑ๋ฅ๊ณผ ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ฌ ๊ฐ์ ์์ญ์ ์๋ณํ๊ณ ์ฌ๋ฌ ์ง์ญ์์ ํ๋ ์ด์ด๊ฐ ๊ฒ์์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์ดํดํ์ธ์.
๋๊ตฌ ๋ฐ ๋ฆฌ์์ค
๋ชจ๋ฐ์ผ ๊ฒ์ ์ต์ ํ์ ์ ์ฉํ ๋ช ๊ฐ์ง ๋๊ตฌ์ ๋ฆฌ์์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Unity ํ๋กํ์ผ๋ฌ: (Window -> Analysis -> Profiler)
- Android Studio ํ๋กํ์ผ๋ฌ: (Android Studio์์ ์ฌ์ฉ ๊ฐ๋ฅ)
- Xcode Instruments: (Xcode์์ ์ฌ์ฉ ๊ฐ๋ฅ)
- Unity ์์ ์คํ ์ด: ์ต์ ํ ๋๊ตฌ ๋ฐ ํ๋ฌ๊ทธ์ธ์ ํฌํจํ Unity ์์ ๋ง์ผํ๋ ์ด์ค์ ๋๋ค.
- Unity ๋ฌธ์: ๊ณต์ Unity ๋ฌธ์๋ ์ต์ ํ๋ฅผ ํฌํจํ Unity ๊ฐ๋ฐ์ ๋ชจ๋ ์ธก๋ฉด์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์จ๋ผ์ธ ํฌ๋ผ ๋ฐ ์ปค๋ฎค๋ํฐ: Unity ํฌ๋ผ์ด๋ ์คํ ์ค๋ฒํ๋ก์ฐ์ ๊ฐ์ ์จ๋ผ์ธ ํฌ๋ผ ๋ฐ ์ปค๋ฎค๋ํฐ๋ ์ง๋ฌธ์ ํ๊ณ ์ง์์ ๊ณต์ ํ๊ธฐ์ ์ข์ ์ฅ์์ ๋๋ค.
๊ฒฐ๋ก
๋ชจ๋ฐ์ผ ๊ฒ์ ์ฑ๋ฅ ์ต์ ํ๋ ์ง์์ ์ธ ๊ณผ์ ์ ๋๋ค. ๋ชจ๋ฐ์ผ ํ๋ซํผ์ ๊ณผ์ ์ ๊ธฐํ๋ฅผ ์ดํดํ๊ณ , ํ๋กํ์ผ๋ง ๋๊ตฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋ฉฐ, ์ด ๊ฐ์ด๋์ ์ค๋ช ๋ ๊ธฐ์ ์ ์ ์ฉํจ์ผ๋ก์จ, ๋ค์ํ ๊ธฐ๊ธฐ์์ ์ ์๋ํ๊ณ ์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ์ดํํ ์ ์๋ ๊ณ ํ์ง์ ๋งค๋ ฅ์ ์ธ ๋ชจ๋ฐ์ผ ๊ฒ์์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ค์ํ ๊ธฐ๊ธฐ์ ๋คํธ์ํฌ ํ๊ฒฝ์์ ๊ฒ์์ ์ฒ ์ ํ ํ ์คํธํ๊ณ , ์ฑ๋ฅ๊ณผ ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ฌ ๊ฐ์ ์์ญ์ ํ์ ํ๋ ๊ฒ์ ๊ธฐ์ตํ์ธ์. ๊ฒ์์ ๋ํ ๊ธ๋ก๋ฒ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ํ์งํ์ ์ค์์ฑ๋ ์์ง ๋ง์ธ์.